//
//  BaseTableViewController.swift
//  Weibo
//
//  Created by 张小东 on 16/1/11.
//  Copyright © 2016年 Mr.Zhang. All rights reserved.
//

import UIKit

class BaseTableViewController: UITableViewController , VisitorLoginViewDelegate{
    
    // 自定义是否登录的标示
    var userLogin = UserAccountModel().userLogin
    
    // 访客视图
    var visitroLoginView: VisitorLoginView?
    
    
    // loadView 苹果专门为 手写代码准备的 一旦实现该方法  sb / xib 都会自动失效
    // loadView是准备视图结构 在UIViewControlleler中 会将 view 准备出来
    override func loadView() {
        //        super.loadView()
        //自定义view
        if userLogin {
            super.loadView()
            view.backgroundColor = UIColor.grayColor()
            //        print(view.classForCoder , "自己")
            //        print(super.view.classForCoder , "父类")
        }else {
            // 自定义访客视图
            visitroLoginView = VisitorLoginView()
            
            visitroLoginView?.visitorViewDelegate = self
            view = visitroLoginView
            self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登陆", style: .Plain, target: self, action: "userWillLogin")
            
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "userWillRegister")
            
            
        }
    }
    // 实现 VisitorLoginViewDelegate协议方法
    func userWillLogin() {
        //        print(__FUNCTION__)
        
        let oauth = OAuthViewController()
        let nav = UINavigationController(rootViewController: oauth)
        //跳转到授权页面
        presentViewController(nav, animated: true, completion: nil)
        
        
    }
    func userWillRegister() {
        //        print(__FUNCTION__)
        
    }
    
    
    // 在viewWillLayoutSubviews方法中 设置view的大小
    
    override func viewDidLayoutSubviews() {
        super.viewWillLayoutSubviews()
        //        print(super.view.classForCoder)
        
        //        print(view , "+++++")
        //        print(view.classForCoder , "=====")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
}
